<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Theron: Include/Theron/Defines.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Theron
   &#160;<span id="projectnumber">6.00.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_856524284ebe840938865dc061f982fb.html">Include</a></li><li class="navelem"><a class="el" href="dir_7c463a385af7963c97ef4a23e37c5d06.html">Theron</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">Defines.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Global user-configurable defines.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a6bc053c9bbe7fa27e590a4696eaa36f4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a6bc053c9bbe7fa27e590a4696eaa36f4.html#a6bc053c9bbe7fa27e590a4696eaa36f4">THERON_VERSION</a>&#160;&#160;&#160;&quot;6.00&quot;</td></tr>
<tr class="memdesc:a6bc053c9bbe7fa27e590a4696eaa36f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exposes the version number of the <a class="el" href="namespaceTheron.html" title="Main namespace containing all public API components. ">Theron</a> release in use.  <a href="#a6bc053c9bbe7fa27e590a4696eaa36f4">More...</a><br/></td></tr>
<tr class="separator:a6bc053c9bbe7fa27e590a4696eaa36f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad415388f6115265470aadc4e88c232f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_ad415388f6115265470aadc4e88c232f5.html#ad415388f6115265470aadc4e88c232f5">THERON_WINDOWS</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ad415388f6115265470aadc4e88c232f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls the use of Windows features.  <a href="#ad415388f6115265470aadc4e88c232f5">More...</a><br/></td></tr>
<tr class="separator:ad415388f6115265470aadc4e88c232f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a105934ea95dec270ad05d20790c1a33e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a105934ea95dec270ad05d20790c1a33e.html#a105934ea95dec270ad05d20790c1a33e">THERON_MSVC</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a105934ea95dec270ad05d20790c1a33e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the use of Microsoft Visual C++ features.  <a href="#a105934ea95dec270ad05d20790c1a33e">More...</a><br/></td></tr>
<tr class="separator:a105934ea95dec270ad05d20790c1a33e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d0395f23f4a7977fb7643f6712fd72f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a3d0395f23f4a7977fb7643f6712fd72f.html#a3d0395f23f4a7977fb7643f6712fd72f">THERON_GCC</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a3d0395f23f4a7977fb7643f6712fd72f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the use of GCC-specific features.  <a href="#a3d0395f23f4a7977fb7643f6712fd72f">More...</a><br/></td></tr>
<tr class="separator:a3d0395f23f4a7977fb7643f6712fd72f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a344bc60db4b7e996f423dde5236491fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a344bc60db4b7e996f423dde5236491fd.html#a344bc60db4b7e996f423dde5236491fd">THERON_64BIT</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a344bc60db4b7e996f423dde5236491fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the use of 64-bit environment features.  <a href="#a344bc60db4b7e996f423dde5236491fd">More...</a><br/></td></tr>
<tr class="separator:a344bc60db4b7e996f423dde5236491fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a424571c2b959ee1a5b204ce7789a77cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a424571c2b959ee1a5b204ce7789a77cc.html#a424571c2b959ee1a5b204ce7789a77cc">THERON_DEBUG</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a424571c2b959ee1a5b204ce7789a77cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls generation of code for asserts, allocation checking, etc.  <a href="#a424571c2b959ee1a5b204ce7789a77cc">More...</a><br/></td></tr>
<tr class="separator:a424571c2b959ee1a5b204ce7789a77cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a266c44b69e6490887e5829719521f61d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a266c44b69e6490887e5829719521f61d.html#a266c44b69e6490887e5829719521f61d">THERON_ENABLE_ASSERTS</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a266c44b69e6490887e5829719521f61d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables generation of code for asserts within <a class="el" href="namespaceTheron.html" title="Main namespace containing all public API components. ">Theron</a>.  <a href="#a266c44b69e6490887e5829719521f61d">More...</a><br/></td></tr>
<tr class="separator:a266c44b69e6490887e5829719521f61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b9efe056acea27a0164457d09896e2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a0b9efe056acea27a0164457d09896e2d.html#a0b9efe056acea27a0164457d09896e2d">THERON_BOOST</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a0b9efe056acea27a0164457d09896e2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls whether Boost functionality is used.  <a href="#a0b9efe056acea27a0164457d09896e2d">More...</a><br/></td></tr>
<tr class="separator:a0b9efe056acea27a0164457d09896e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0b3f3df7cc52c8950a1bf908001bb78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_ad0b3f3df7cc52c8950a1bf908001bb78.html#ad0b3f3df7cc52c8950a1bf908001bb78">THERON_CPP11</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ad0b3f3df7cc52c8950a1bf908001bb78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls whether C++11 features are used.  <a href="#ad0b3f3df7cc52c8950a1bf908001bb78">More...</a><br/></td></tr>
<tr class="separator:ad0b3f3df7cc52c8950a1bf908001bb78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb28e74b0f19fa534a95ebb07bd8eaff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_adb28e74b0f19fa534a95ebb07bd8eaff.html#adb28e74b0f19fa534a95ebb07bd8eaff">THERON_POSIX</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:adb28e74b0f19fa534a95ebb07bd8eaff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls whether POSIX features are used.  <a href="#adb28e74b0f19fa534a95ebb07bd8eaff">More...</a><br/></td></tr>
<tr class="separator:adb28e74b0f19fa534a95ebb07bd8eaff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c09f52b721f2e9a8343c7eee5287582"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a9c09f52b721f2e9a8343c7eee5287582.html#a9c09f52b721f2e9a8343c7eee5287582">THERON_NOINLINE</a></td></tr>
<tr class="memdesc:a9c09f52b721f2e9a8343c7eee5287582"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to prevent functions from being inlined.  <a href="#a9c09f52b721f2e9a8343c7eee5287582">More...</a><br/></td></tr>
<tr class="separator:a9c09f52b721f2e9a8343c7eee5287582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad51a5513a03bbbac961f4a559b2f6fcc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_ad51a5513a03bbbac961f4a559b2f6fcc.html#ad51a5513a03bbbac961f4a559b2f6fcc">THERON_ENABLE_DEFAULTALLOCATOR_CHECKS</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ad51a5513a03bbbac961f4a559b2f6fcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables debug checking of allocations in the <a class="el" href="classTheron_1_1DefaultAllocator.html">DefaultAllocator</a>.  <a href="#ad51a5513a03bbbac961f4a559b2f6fcc">More...</a><br/></td></tr>
<tr class="separator:ad51a5513a03bbbac961f4a559b2f6fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45f62d8604cbbe0e0760ea1bf29d76a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a45f62d8604cbbe0e0760ea1bf29d76a5.html#a45f62d8604cbbe0e0760ea1bf29d76a5">THERON_ENABLE_MESSAGE_REGISTRATION_CHECKS</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a45f62d8604cbbe0e0760ea1bf29d76a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls run-time reporting of unregistered message types.  <a href="#a45f62d8604cbbe0e0760ea1bf29d76a5">More...</a><br/></td></tr>
<tr class="separator:a45f62d8604cbbe0e0760ea1bf29d76a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaed406185c3d344b7f6f37be935120a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_aaed406185c3d344b7f6f37be935120a2.html#aaed406185c3d344b7f6f37be935120a2">THERON_ENABLE_UNHANDLED_MESSAGE_CHECKS</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:aaed406185c3d344b7f6f37be935120a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables reporting of undelivered and unhandled messages, which is enabled by default.  <a href="#aaed406185c3d344b7f6f37be935120a2">More...</a><br/></td></tr>
<tr class="separator:aaed406185c3d344b7f6f37be935120a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ac733010148bef3ac833900ac1d6d79"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a2ac733010148bef3ac833900ac1d6d79.html#a2ac733010148bef3ac833900ac1d6d79">THERON_ENABLE_BUILD_CHECKS</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a2ac733010148bef3ac833900ac1d6d79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables automatic checking of build consistency between the <a class="el" href="namespaceTheron.html" title="Main namespace containing all public API components. ">Theron</a> library and client code.  <a href="#a2ac733010148bef3ac833900ac1d6d79">More...</a><br/></td></tr>
<tr class="separator:a2ac733010148bef3ac833900ac1d6d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08023ece48c264f35b2f345d6d8ea30a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a08023ece48c264f35b2f345d6d8ea30a.html#a08023ece48c264f35b2f345d6d8ea30a">THERON_ENABLE_COUNTERS</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a08023ece48c264f35b2f345d6d8ea30a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controls availability of per-framework counters that record the occurrence of scheduling events.  <a href="#a08023ece48c264f35b2f345d6d8ea30a">More...</a><br/></td></tr>
<tr class="separator:a08023ece48c264f35b2f345d6d8ea30a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9e738803b8cc84305ba092ebb4c31ef"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_ad9e738803b8cc84305ba092ebb4c31ef.html#ad9e738803b8cc84305ba092ebb4c31ef">THERON_CACHELINE_ALIGNMENT</a>&#160;&#160;&#160;64</td></tr>
<tr class="memdesc:ad9e738803b8cc84305ba092ebb4c31ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes the size of a cache line on the target platform.  <a href="#ad9e738803b8cc84305ba092ebb4c31ef">More...</a><br/></td></tr>
<tr class="separator:ad9e738803b8cc84305ba092ebb4c31ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6721c493481921173d9a7deb2d0d6a29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_a6721c493481921173d9a7deb2d0d6a29.html#a6721c493481921173d9a7deb2d0d6a29">THERON_NUMA</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a6721c493481921173d9a7deb2d0d6a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables NUMA support.  <a href="#a6721c493481921173d9a7deb2d0d6a29">More...</a><br/></td></tr>
<tr class="separator:a6721c493481921173d9a7deb2d0d6a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1e1025d87e87d1eaf0d8a55c97b8a29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="Defines_8h_af1e1025d87e87d1eaf0d8a55c97b8a29.html#af1e1025d87e87d1eaf0d8a55c97b8a29">THERON_XS</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:af1e1025d87e87d1eaf0d8a55c97b8a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the use of Crossroads.IO (the XS library) to implement network support for remote actors.  <a href="#af1e1025d87e87d1eaf0d8a55c97b8a29">More...</a><br/></td></tr>
<tr class="separator:af1e1025d87e87d1eaf0d8a55c97b8a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Global user-configurable defines. </p>
<p>This file defines, in one place, all the defines which can be defined in order to override default options within <a class="el" href="namespaceTheron.html" title="Main namespace containing all public API components. ">Theron</a>. Some of them enable or disable debugging functionality, others abstract away platform-specific detail such as code inlining and variable alignment, and still others control aspects of the operation of <a class="el" href="namespaceTheron.html" title="Main namespace containing all public API components. ">Theron</a>.</p>
<dl class="section note"><dt>Note</dt><dd>The intention is that most users will be able to leave these defines at their default values, hardly knowing they're there. But if you do need to override one of them then the best way to do it is to define the define globally in your build (for example as a compiler option), rather than by editing this file. The definitions of the defines in this file are all conditional on the define having not already been defined, so can be easily overridden just by defining the defines yourself globally in your build. </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>
